package com.gewei.entity;

import java.io.Serializable;

/**
 * 通用的返回结果封装对象
 * 用于封装方法的执行结果、提示信息和返回数据。
 * 它通常用于前后端交互时，后端将执行结果封装成一个统一的结构返回给前端，便于前端处理。
 */
public class Result implements Serializable {

    private static final long serialVersionUID = -8302490717015380502L;

    /**
     * 表示操作是否成功。true 表示成功，false 表示失败。
     */
    private boolean flag;

    /**
     * 操作的提示信息，通常用于前端显示。
     */
    private String message;

    /**
     * 操作的返回数据，具体的业务数据，可以是任意类型的对象（如实体类、集合、Map 等）。
     */
    private Object data;

    /**
     * 用于不需要返回业务数据的场景。
     *
     * @param flag
     * @param message
     */
    public Result(boolean flag, String message) {
        this.flag = flag;
        this.message = message;
    }

    /**
     * 用于需要返回业务数据的场景。
     *
     * @param flag
     * @param message
     * @param data
     */
    public Result(boolean flag, String message, Object data) {
        this.flag = flag;
        this.message = message;
        this.data = data;
    }

    public boolean isFlag() {
        return flag;
    }

    public void setFlag(boolean flag) {
        this.flag = flag;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }
}
